﻿//Se envia la solicitud de financiamiento
function _EnviarSolicitudFinanciamiento() {
    this.IdPostulante = "";
    this.Clie_ID = "";
    this.CodigoConvocatoria = "";

    this.PreInit = function () {

        var _parent = this;

        _parent.Form({ IdPostulante: _parent.IdPostulante });

        //_parent._getForm().find(".enviar-solicitud-financiamiento").on()

        //console.log(_parent._getCont());
        _parent._getCont().off("click", ".enviar-solicitud-financiamiento");
        _parent._getCont().on("click", ".enviar-solicitud-financiamiento", function () {
            if (confirm("Desea enviar su solicitud de financiamiento")) {
                $.ajax({
                    url: URL_PAGE + "Postulante/Main/RegistrarEnviarSolicitudFinanciamiento",
                    type: 'post',
                    data: { IdPostulante: _parent.IdPostulante },
                    success: function (data) {
                        if (!data.solicitudCompletada) {
                            alert("Aun le falta adjuntar algunos archivos para completar su solicitud o le falta los términos y condiciones");
                        } else {
                            location.reload();
                        }
                    }
                });
            }
        });
    };

    this.ConsultarSolicitudCompletada = function () {
        var _parent = this;
        _parent.Form({ IdPostulante: _parent.IdPostulante });
    }
}

//Es el financiado
function _Financiado() {

    this.IdPostulante = "";
    this.Clie_ID = "";
    this.CodigoConvocatoria = "";

    this.ConsultarSolicitudCompletada = function () {

    };

    this.PreInit = function () {

        var _parent = this;

        _parent._getCont().find("#pasos-financiamiento").find("a").click(function (e) {
            e.preventDefault();
            $(this).tab('show');
        });

        _parent._getCont().on("click", ".solicitud-completada", function () {
            location.reload();
        });



        _parent.FormFormularioSolicitud();
        _parent.FormArchivosAdjuntos();
        _parent.FormTerminosCondiciones();
    };


    //
    this._getFormFirmaSolicitud = function () {
        return this._getContForm().find("#FormFirmaSolicitud");
    }

    this._getContFormFirmaSolicitud = function () {
        return this._getContForm().find("#ContFormFirmaSolicitud");
    }

    this._getFormFormularioSolicitud = function () {
        return this._getContForm().find("#FormFormularioSolicitud");
    }

    this._getContFormFormularioSolicitud = function () {
        return this._getContForm().find("#ContFormFormularioSolicitud");
    }

    this._getFormArchivosAdjuntos = function () {
        return this._getContForm().find("#FormArchivosAdjuntos");
    }

    this._getContFormArchivosAdjuntos = function () {
        return this._getContForm().find("#ContFormArchivosAdjuntos");
    }

    ////////////////////////////////
    ///Terminos y condiciones
    ////////////////////////////////
    this._getFormTerminosCondiciones = function () {
        return this._getContForm().find("#FormTerminosCondiciones");
    }

    this._getContFormTerminosCondiciones = function () {
        return this._getContForm().find("#ContFormTerminosCondiciones");
    }

    /*************************************************************************************************/
    /********************************Formulario solicitud*********************************************/
    /*************************************************************************************************/
    ////////////////////////////////////////////////////////////////////////
    //////////////////////////Formulario solicitud//////////////////////////
    ////////////////////////////////////////////////////////////////////////
    this.FormFormularioSolicitud = function () {
        var _parent = this;

        $.ajax({
            url: URL_PAGE + "Postulante/Main/FormFormularioSolicitud",
            type: "post",
            data: { idpostulante: _parent.IdPostulante },
            success: function (html) {
                _parent._getContFormFormularioSolicitud().html(html);
                _parent.CargarEventosFormFormularioSolicitud();

                if (_parent._getContFormFormularioSolicitud().find("#FormularioCompletado").val() == "True") {
                    //_parent._getContFormFormularioSolicitud().hide();
                    _parent.FormFirmaSolicitud();
                }

                var capaSeleccionDeFinanciamiento = _parent._getContFormFormularioSolicitud().find("#CapaSeleccionDeFinanciamiento");
                var capaFinanciamientoSeleccionado = _parent._getContFormFormularioSolicitud().find("#CapaFinanciamientoSeleccionado");

                if (_parent._getContFormFormularioSolicitud().find("#IdFinanciamientoExiste").val() == "1") {
                    capaSeleccionDeFinanciamiento.hide();
                    capaFinanciamientoSeleccionado.find("#CancelarFinanciamiento").hide();
                }

                //Haciendo el evento de cambio de financiamiento
                capaFinanciamientoSeleccionado.off('click', '#CambiarFinanciamiento');
                capaFinanciamientoSeleccionado.on('click', '#CambiarFinanciamiento', function (e) {
                    capaSeleccionDeFinanciamiento.slideDown();
                    capaFinanciamientoSeleccionado.find("#CancelarFinanciamiento").show();
                });

                //Haciendo el evento de cancelar el cambio de financiamiento
                capaFinanciamientoSeleccionado.off('click', '#CancelarFinanciamiento');
                capaFinanciamientoSeleccionado.on('click', '#CancelarFinanciamiento', function (e) {
                    capaSeleccionDeFinanciamiento.slideUp();
                    capaFinanciamientoSeleccionado.find("#CancelarFinanciamiento").hide();

                    //Eliminando el financiamiento del combo
                    capaSeleccionDeFinanciamiento.find("#detalleFinanciamiento").html("");
                    capaSeleccionDeFinanciamiento.find("#IdFinanciamiento").val("")
                });

                //
                if (_parent._getContFormFormularioSolicitud().find("#IdFinanciamientoExiste").val() == "1") {
                    capaSeleccionDeFinanciamiento.hide();
                    capaFinanciamientoSeleccionado.find("#CancelarFinanciamiento").hide();
                }
            }
        });
    };

    /////////////////////////////////////////////
    /////Cargar eventos formulario solicitud/////
    /////////////////////////////////////////////
    this.CargarEventosFormFormularioSolicitud = function () {
        var _parent = this;

        var _form = _parent._getFormFormularioSolicitud();
        //Escoger el tipo de financiamiento
        _form.find("#IdFinanciamiento").change(function () {
            var obj = $(this);
            _parent.CargarCronogramaPagos(obj.val(), "0");
        });

        _parent.RegistrarFormularioSolicitud();
    }

    this.CargarCronogramaPagos = function (idfinanciamiento, cuotainicial) {
        var _parent = this;
        var _form = _parent._getFormFormularioSolicitud();
        var formDetalleFinanciamiento = _form.find("#detalleFinanciamiento");

        $.ajax({
            url: URL_PAGE + "Postulante/Main/GenerarDetalleFinanciamientoInicial",
            type: 'post',
            data: { idfinanciamiento: idfinanciamiento, Inicial: cuotainicial, idpostulante: _parent.IdPostulante },
            success: function (html) {
                formDetalleFinanciamiento.html(html);
                formDetalleFinanciamiento.find("#cambiar-inicial").click(function () {
                    formDetalleFinanciamiento.find("#cuota_inicial_guardada").val("0");
                    formDetalleFinanciamiento.find("#guardar-inicial").show();
                    formDetalleFinanciamiento.find("#cambiar-inicial").hide();
                    formDetalleFinanciamiento.find("#cuota_inicial").removeAttr("readonly");
                });

                formDetalleFinanciamiento.find("#guardar-inicial").hide();
                formDetalleFinanciamiento.find("#guardar-inicial").click(function () {
                    var objButton = $(this);
                    _parent.CargarCronogramaPagos(idfinanciamiento, formDetalleFinanciamiento.find("#cuota_inicial").val());
                });
            }
        });
    }

    ///////////////////////////////////////////
    //Guardando el formulario solicitud
    ///////////////////////////////////////////
    this.RegistrarFormularioSolicitud = function () {
        var _parent = this;
        var _form = _parent._getFormFormularioSolicitud();

        _form.validationEngine({
            ajaxSubmit: true,
            onValidationComplete: function (form, status) {
                if (status) {
                    _form.ajaxSubmit({
                        success: function (responseText, statusText, xhr, $form) {
                            //_parent._getContFormFormularioSolicitud().hide();
                            _parent.FormFormularioSolicitud();
                        }
                    });
                }
            }
        });
    };


    /*************************************************************************************************/
    /********************************Formulario firma*************************************************/
    /*************************************************************************************************/
    ///////////////////////////////////////////
    //Formulario solicitud
    ///////////////////////////////////////////
    this.FormFirmaSolicitud = function () {
        var _parent = this;

        $.ajax({
            url: URL_PAGE + "Postulante/Main/FormFirmaSolicitud",
            type: "post",
            data: { idpostulante: _parent.IdPostulante },
            success: function (html) {
                _parent._getContFormFirmaSolicitud().show();
                _parent._getContFormFirmaSolicitud().html(html);
                _parent.CargarEventosFormFirmaSolicitud();
            }
        });
    };


    /*************************************************************************************************/
    /********************************TERMINOS Y CONDICIONES*************************************************/
    /*************************************************************************************************/
    ///////////////////////////////////////////
    //TERMINOS Y CONDICIONES
    ///////////////////////////////////////////
    this.FormTerminosCondiciones = function () {
        var _parent = this;

        $.ajax({
            url: URL_PAGE + "Postulante/Main/FormTerminosCondiciones",
            type: "post",
            data: { idpostulante: _parent.IdPostulante },
            success: function (html) {
                _parent._getContFormTerminosCondiciones().show();
                _parent._getContFormTerminosCondiciones().html(html);
                _parent.CargarEventosFormTerminosCondiciones();
            }
        });
    };

    ///////////////////////////////////////////
    //Cargar eventos firma solicitud
    ///////////////////////////////////////////
    this.CargarEventosFormTerminosCondiciones = function () {
        var _parent = this;

        //Editar los terminos y condiciones
        var _form = _parent._getFormTerminosCondiciones();

        _form.off("click", "#terminosCondiciones");
        _form.on("click", "#terminosCondiciones", function () {
            _form.submit();
        });

        _form.validationEngine({
            ajaxSubmit: true,
            onValidationComplete: function (form, status) {
                if (status) {
                    _form.ajaxSubmit({
                        success: function (responseText, statusText, xhr, $form) {
                            _parent.FormTerminosCondiciones();
                            _parent.ConsultarSolicitudCompletada();
                        }
                    });
                }
            }
        });
    }

    ///////////////////////////////////////////
    //Cargar eventos firma solicitud
    ///////////////////////////////////////////
    this.CargarEventosFormFirmaSolicitud = function () {
        var _parent = this;
        _parent.RegistrarFirmaSolicitud();

        //Editar el formulario de solicitud de financiamiento
        var _form = _parent._getFormFirmaSolicitud();
        //_form.find(".editar-formulario-solicitud").click(function)

        //        _form.on("#editar-formulario-solicitud", "click", function () {

        //        });
    }

    ///////////////////////////////////////////
    //Guardando la firma solicitud
    ///////////////////////////////////////////
    this.RegistrarFirmaSolicitud = function () {
        var _parent = this;
        var _form = _parent._getFormFirmaSolicitud();

        _form.validationEngine({
            ajaxSubmit: true,
            onValidationComplete: function (form, status) {
                if (status) {
                    _form.ajaxSubmit({
                        success: function (responseText, statusText, xhr, $form) {
                            _parent.FormFirmaSolicitud();
                        }
                    });
                }
            }
        });
    };


    /*************************************************************************************************/
    /********************************Formulario archivos adjuntos*************************************/
    /*************************************************************************************************/
    ///////////////////////////////////////////
    //Formulario solicitud
    ///////////////////////////////////////////
    this.FormArchivosAdjuntos = function () {
        var _parent = this;

        $.ajax({
            url: URL_PAGE + "Postulante/Main/FormArchivosAdjuntos",
            type: "post",
            data: { idpostulante: _parent.IdPostulante },
            success: function (html) {
                _parent._getContFormArchivosAdjuntos().html(html);
                _parent.CargarEventosFormArchivosAdjuntos();
            }
        });
    };

    ///////////////////////////////////////////
    //Cargar eventos firma solicitud
    ///////////////////////////////////////////
    this.CargarEventosFormArchivosAdjuntos = function () {
        var _parent = this;
        _parent.RegistrarArchivosAdjuntos();
    }

    ///////////////////////////////////////////
    //Guardando la firma solicitud
    ///////////////////////////////////////////
    this.RegistrarArchivosAdjuntos = function () {
        var _parent = this;
        var _form = _parent._getFormArchivosAdjuntos();

        _form.validationEngine({
            ajaxSubmit: true,
            onValidationComplete: function (form, status) {
                if (status) {
                    _form.ajaxSubmit({
                        success: function (responseText, statusText, xhr, $form) {
                            _parent.FormArchivosAdjuntos();
                            _parent.ConsultarSolicitudCompletada();
                        }
                    });
                }
            }
        });
    };

}